java tricky question